export interface ListPageParams {
  pageSize: number;
  pageNum: number;
}

export interface GetCourseListParams extends ListPageParams {
  startTime: string;
}

export interface Course {
  id: string;
  level: string;
  bookId: string;
  bookName: string;
  bookIsbn: string;
  wordsno: string;
  startDate: string;
  endDate: string;
  introductBook: string;
}

export interface GetSubmitAnwserResult {
  lastQuestion: string;
  lastLevel: string;
  resultRate?: string;
  books?: string;
  fonts?: string;
  course?: Course;
  [key: string]: any;
}

export interface Option {
  id: string;
  questionId: string;
  description: string;
  optionTab: string;
  isCorrect: string;
  [key: string]: string;
}

export interface QuestionResult {
  id: string;
  title: string;
  bookId: string;
  bookIsbn: string;
  themeId: string;
  categoryId: string;
  answer: string;
  type: string | number;
  model: string;
  questSort: string;
  ifPic: string;
  bigPic: string;
  pic?: string;
  options: Array<Option>;
  [key: string]: any;
}

export interface QuestionStem {
  id: number | string;
  categoryId: number; // 题目大类 1-选择题 2-判断题 3-文本填空 4-长图 5-连线
  type: number; // 题目子类 选择（6-文本选项 7-图片选项 8-图文选项）判断（9）填空（11-组词 12-打字）连线（17-2排 21-2列 22-3列）长图（15-长图 16-小图）
  stemFlag: number; // 题干类型 1-文本 2-图文
  themeId: string; // 连线主题 2-海洋 3-星空 4-音乐 5-植物
  stemPic: string; // 题干图片
  stemPicSize: string; // 长图尺寸
  title: string; // 题干
  answer: string; // 答案
  voiceUrl: string; // 题干音频
  [key: string]: any;
}

export interface OptionList {
  id: number;
  questionId: number | string; // 题目id
  optionTab: string; // 选项标签
  description: string; // 选项描述/长图题目
  isCorrect: string; // 是否正确 1-正确 0-错误
  pic: string; // 选项图片
  optionsType: number;
  remark: string; // 连线下排/两列的右列/三列的左列/长图选词选项
  rightContent: string; // 连线三列的右列
  descriptionAnswer: string; // 连线答案/长图填空答案
  position: string; // 长图题目位置
  voiceUrl: string; // 音频 长图
  [key: string]: any;
}

export interface ExerciseListResult {
  exercise: Exercise;
  questionList: Array<Question>;
  [key: string]: any;
}

export interface Exercise { // 卷子信息
  id: number;
  title: string;
  type: number;
  isbn: string; // 卷子所属的书本
  bookName: string; // 卷子所属的书本
  readStep: number; // 第几关
  status: number;
  remark: string;
  [key: string]: any;
}

export interface Question { // 练习题内容
  // readStep: number; // 第几关
  sortOrder: number; // 题目顺序
  questionStem: QuestionStem; // 题干
  optionList: Array<OptionList>; // 选项
  [key: string]: any;
}

export interface ListParams {
  bookIsbn: string;
  bookName: string;
  bookId: string;
  classId: string;
  packageName: string;
  // type: string;
}

export interface ListResult {
  exercise: Exercise;
  questionList: Array<Question>;
  [key: string]: any;
}
